<!DOCTYPE html>
<html>
<head>
<!--    声明网页编码方式-->
    <meta charset="UTF-8">
    <title>PHP-Basec</title>
</head>
<body>
<?php
/**
 * Created by PhpStorm.
 * User: gaofeng
 * Date: 2018/1/7
 * Time: 21:55
 */
/** 内容： php 或者 HTML
 * 智能提示，也可以在file -> setting -> PHP -> interpreter中配置
 * 纯php，不需要结尾,每行代码分号结尾`?>`, 字符串通过`.`拼接
 */
// 浏览器上界面显示 Hello PHP
echo "Hello PHP";

/** 常量和变量 */
/** 变量声明`$`
 * 常量 const NAME = 12
 */
echo '<br>';

$a = 5;
/// const php5以后有效
const  VALUE = 12 ;
echo  $a + VALUE ;
echo '<br>';
/// php5以前如何使用常量
define('THE_V',200);
echo THE_V ;

/** 函数 */
/// 函数实现
function traceHelloPHP(){
    echo 'Hello PHP<br>';
    echo  'Hello World';
}
// 函数调用
//traceHelloPHP();
$func = 'traceHelloPHP';
$func();

// 带参数的函数
function hello($name){
    echo  '<br>';
    echo  'Hello '.$name.'<br>';
}
hello('wu');

function helloT($a,$b){
//    echo 'a= '.$a.' , b = '.$b.'<br>';
    echo  "a= $a ,b = $b <br>"; // 双引号，单引号不行
}
helloT(1,2);

// 带返回值
function add($a,$b){
    return $b + $a ;
}

echo "13 + 32 = ".add(13,32)."<br>";

/** 流程控制*/
function getLevel($score){
    if ($score > 90){
        return '优秀';
    }elseif ($score > 80){
        return '良好';
    }elseif ($score > 70){
        return '好';
    }else{
        return '一般';
    }
}
function getLevels($score){
    $s = $score/10 ;// 带小数
    switch (intval($s)){
        case 10:
        case 9:
            return '优秀';
        case 8:
            return '良好';
        case 7:
            return '好';
        case 6:
            return '可以';
        default:
            return '一般';
//            break 跳出循环
    }
}
echo  getLevel(87).'<br>';
echo  getLevels(67).'<br>';

/** 循环 */
while ($a<=12){
    echo "The number is ".$a.'<br>';
    $a += 3 ;
}
do{
    echo "The number is ".$a.'<br>';
    $a += 1;
}while($a<16);

for ($a=1;$a<3;$a++){
    echo "The number is ".$a.'<br>';
}

$arr = array("one","two","three","four");
foreach ($arr as $dx){
    echo "The word is ".$dx.'<br>';

}
$arr = array(5,3,6,2,8,10);
for($i = count($arr)-1;$i>=0;$i--){
    for($j = 0 ; $j < $i ; $j++){
        if($arr[$j+1] > $arr[$j] ){
            $aa = $arr[$j+1];
            $arr[$j+1] = $arr[$j];
            $arr[$j] = $aa;
        }
    }
}
print_r($arr);
echo  '<br>';
/** 逻辑运算 */
for ($i=0;$i<100;$i++){
    if ($i%2==0 && $i%3==0 ){
        echo  'number '.$i.'<br>';
    }
}
/** 魔术变量 */
echo '这是第" ' .__LINE__. ' "行'.'<br>';
echo '该文件位于 " '  . __FILE__ . ' " '."<br>";
echo '该文件位于 " '  . __DIR__ . ' " '.'<br>';

class test {
    function test_print() {
        echo '类名为：'  . __CLASS__ . "<br>";
        echo  '函数名为：' . __FUNCTION__ .'<br>';
    }
}
$t = new test();
$t->test_print();
?>
</body>
</html>